package org.seedltd.upms.service.detection;

import org.seedltd.upms.model.detection.dto.PayOrderDTO;
import org.seedltd.upms.model.detection.dto.RefundOrderDTO;
import org.seedltd.upms.model.detection.vo.JsapiResultVO;
import org.seedltd.upms.model.detection.vo.QueryVO;
import org.seedltd.upms.model.detection.vo.RefundVO;

/**
 *
 * 微信支付业务
 *
 * @author laizuan
 * @version 1.0
 * @since 2021/8/12 14:42
 */
public interface DetectionWeCharPayService {

    /**
     * 创建微信支付订单
     * @return
     */
    JsapiResultVO createOrder(PayOrderDTO payOrder) throws Exception;

    /**
     * 关闭订单
     * @param outTradeNo 商户订单号
     * @return
     */
    boolean closeOrder(String outTradeNo) throws Exception;


    /**
     * 退款
     *
     * @param refundOrder
     *            参数
     */
    RefundVO refund(RefundOrderDTO refundOrder) throws Exception;

    /**
     * 查询订单
     *
     * @param outTradeNo
     *            商户订单号
     */
    QueryVO query(String outTradeNo)  throws Exception;
}
